package com.lanxiao.cloud.user.api;

import com.lanxiao.cloud.common.core.dto.UserBaseDto;
import com.lanxiao.cloud.common.core.exception.BusinessException;
import com.lanxiao.cloud.user.api.dto.LoginInfoDubboUpdate;
import com.lanxiao.cloud.user.api.dto.UserDubboAdd;
import com.lanxiao.cloud.user.api.dto.UserDubboDto;
import java.util.List;
import java.util.Map;

/**
 * @author ：qiaoliang
 * @date ：2021-09-13
 */
public interface UserDubboApi {

  /**
   *  修改用户登录信息
   *
   * @author ：qiaoliang
   * @param loginDubboUpdate :  登录信息
   * @date 2021-09-13 11:19
   */
  void loginInfoUpdate(LoginInfoDubboUpdate loginDubboUpdate);

  /**
   *  校验用户是否可以登陆
   *
   * @author ：qiaoliang
   * @param userId : 用户ID
   * @date 2021-09-13 11:28
   */
  UserDubboDto checkLogin(Long userId);

  /**
   *  注册
   *
   * @author ：qiaoliang
   * @param userDubboAdd : 用户信息
   * @date 2021-09-14 15:06
   */
  Long register(UserDubboAdd userDubboAdd);

  /**
   *  通过ID获取用户信息
   *  返回<ID,用户> map格式
   * @author ：qiaoliang
   * @param ids : 用户ID
   * @return java.util.Map<java.lang.Long, com.lanxiao.cloud.user.api.dto.UserInfoDubboDto>
   * @date 2021-09-13 11:54
   */
  Map<Long, UserBaseDto<Long>> findByIds(List<Long> ids);

}
